package example.list;


import java.util.ArrayList;
import java.util.List;

/**
 * @since 底层是数组 内存块是连续的
 * 元素有序 可以重复
 * 对象需要重写equals方法
 */
public class ArrayListTest {

    public static void main(String[] args) {
        //底层是Object[]，初始大小为10
        List<String> list = new ArrayList<>();
        list.add("fgbr");
        list.add("aaaaaaa");
        list.add("bbbbbbbbbbb");
        list.add("aaaaaaa");
        list.add("8888888");

        //add index不为长度，add在每个元素前添加一个新元素。 index为长度 ,在最后面添加 ，超出长度抛出异常
        list.add(3, "sss");

        //索引取值
        System.out.println(list.get(3));

        //删除并返回
        System.out.println(list.remove(0));

        //子集 左闭右开
        List<String> subList = list.subList(0, 1);

        //更新元素
        list.set(4, "00000");

        //首次出现的位置
        System.out.println(list.indexOf("aaaaaaa"));

        //最后一次出现的位置
        System.out.println(list.lastIndexOf("aaaaaaa"));
    }
}




